package com.tedu.day02.oop;

/**
 * this关键字---super关键字---使用完全一致
 * 不需要继承---当前类，指代当前
 * 使用方法：调用当前类的属性，方法，构造器
 * this.属性                    【当前类的属性赋值】
 *                              出现构造器、方法中
 *                              区别当前类的属性与参数"名称"一致
 *        this.方法
 *        this()
 *
 *  鄙视题：this跟super关键字区别？
 *         this  调用本类的属性、方法、构造器
 *         super 调用父类的属性、方法、构造器，存在继承关系，使用super
 *         this()与super()---传递参数：赋值
 *         this()调用本类的其他构造器--构造器首行
 *         super()调用父类的其他构造器--子类构造器首行
 */
public class this关键字 {
    int i; //属性---很少赋值【声明未赋值】---构造器或者方法中赋值
    int j;//属性---很少赋值【声明未赋值】---构造器或者方法中赋值

    public this关键字(int i,int j){
        this.i=i;
        this.j=j;
    }

    //构造器：有参          需求：创造1个参数对象，给i和j赋值【跟一样super()】
    public this关键字(int i){
        this(3,4);
        this.i=i;      //常见：this.属性【当前类下属性】=参数
                      //赋值   this.i=1;
    }
    //方法--this.方法
    public void testI(){
        System.out.println("我是I");
    }
    public void testJ(){//调取---输出：我是I  我是J
        System.out.println("我是J");
    }
    public static void main(String[] args){
     //   System.out.println(new this关键字(1).i);//属性没有输出语句
        new this关键字(1).testJ();//方法有输出语句
    }

}
